//在Flutter中ProgressIndicator是个抽象类，它有两个子类。

//LinearProgressIndicator和CircularProgressIndicator，
// 分别代表线性进度条和原型进度条，当然两个进度条的应用场景也会有不同，
// LinearProgressIndicator主要用于明确刻度的进度表示，
// CircularProgressIndicator主要用于未知刻度的进度表示。

//const LinearProgressIndicator({
//Key key,
//double value,//当前进度0-1之间
//Color backgroundColor,//背景颜色
//Animation<Color> valueColor,//选中颜色，需要用到动画的知识，以后讲
//})

import 'package:flutter/material.dart';
import 'package:flutter_practice/utils/Utils.dart';

class MyProgressDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build

    return Scaffold(
      appBar: Utils.getAppBar('线行进度条'),
      body: LinearProgressIndicator(),
    );
  }
}

//模拟改变 进度条

class MyProgressSample extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return MyProgressState();
  }
}

class MyProgressState extends State<MyProgressSample> {
  double _index = 0.1;

  onProgressUpdate() {
    setState(() {
      _index += 0.1;
      if (_index >= 1.0) {
        _index = 0.1;
      }
    });
  }

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      appBar: Utils.getAppBar('线行进度条模拟'),
      body: Column(
        children: <Widget>[
          LinearProgressIndicator(
            value: _index,
          ),
          Padding(
            padding: EdgeInsets.only(top: 20.0),
            child: RaisedButton(
              onPressed: () {
                onProgressUpdate();
              },
              child: Text('模拟'),
            ),
          ),
        ],
      ),
    );
  }
}
